#include <stdbool.h>
#include <stdint.h>

#include "../Core/Inc/can.h"

/**
 * @brief CAN发送数据
 *
 * @param hcan CAN句柄
 * @param id 标准ID
 * @param length 长度（0-8）
 * @param data 数据地址
 */
void BSP_CAN_SendData(CAN_HandleTypeDef *hcan, uint32_t id, uint8_t length,
                      uint8_t *data);
    
/**
 * @brief CAN设置过滤器
 *
 * @param hcan CAN句柄
 * @param id 标准ID
 */
void BSP_CAN_SetFilter(CAN_HandleTypeDef *hcan, uint32_t id);

/**
 * @brief CAN初始化
 *
 * @param hcan CAN句柄
 */
void BSP_CAN_Init(CAN_HandleTypeDef *hcan);

/**
 * @brief CAN接收完成
 *
 * @return true
 * @return false
 */
bool BSP_CAN_DataReady(void);

/**
 * @brief 获取CAN缓存区地址
 *
 * @return uint8_t*
 */
uint8_t *BSP_CAN_GetData(void);
